/**
 * Created With IntelliJ IDEA
 * Description:leetcode：118. 杨辉三角
 * <a href="https://leetcode.cn/problems/pascals-triangle/">...</a>
 * User: DELL
 * Data: 2022-12-03
 * Time: 22:48
 */

import java.util.ArrayList;
import java.util.List;


public class Solution {
    public List<List<Integer>> generate(int numRows) {
        List<List<Integer>> list = new ArrayList<List<Integer>>();
        //判空处理
        if (numRows == 0) {
            return list;
        }
        //加入第一行
        List<Integer> cur = new ArrayList<>();
        cur.add(1);
        list.add(cur);
        //加入剩余行
        for (int i = 1; i < numRows; i++) {
            List<Integer> curRow = new ArrayList<>();
            List<Integer> preRow = list.get(i-1);
            //加入第一个1
            curRow.add(1);
            //加入中间元素
            for (int j = 1; j < i; j++) {
                curRow.add(preRow.get(j-1) + preRow.get(j));
            }
            //加入最后一个1
            curRow.add(1);
            list.add(curRow);
        }
        return list;
    }
}